1     C     Q-T PROGRAM
2           DIMENSION QRR(10,10),QOR(10,10),LL(10),MM(10),TN(6,10,10)
3           COMPLEX*16 QRR,QOR,TN,P,D
4     cc    CALL UNSTAE
5           NR = 5
6           NR1 = NR*1
7           ND = 2*NR
8           DO 30 M1 = 1,NR1
9           READ(21,END = 8) QRR
10           GO TO 9
11         8 READ(21,END=999) QRR
12         9 CONTINUE
13           READ(21,END=12) QOR
14           GO TO 13
15        12 READ(21,END=999) QOR
16        13 CONTINUE
17           IF(M1.LT.3) GO TO 16
18           MD1 = 2*M1-4
19           DO 15 I = 1,MD1
20           QOR = (1.0D0,0.0D0)
21        15 CONTINUE
22        16 CONTINUE
23           CALL MCNV(QOR,ND,D,LL,MM)
24           DO 21 I = 1,ND
25           DO 21 J = 1,ND
26           P = (0.0D0,0.0D0)
27           DO 20 K = 1,ND
28           P = P-QRR(I,K)*QOR(K,J)
29        20 CONTINUE
30           TN(M1,I,J) = P
31        21 CONTINUE
32        30 CONTINUE
33           WRITE (11) TN
34           PRINT 50
35        50 FORMAT('0 TN NOW HOPEFULLY REPLACED INTO DATASE')
36       999 CONTINUE
37           STOP
38     cc    DEBUG SUBCHK
39           END
40     C Seite 10
41     
42     
43           SUBROUTINE MCNV(A,N,D,L,M)
44           DIMENSION A(1),L(1),M(1)
45           COMPLEX*16 A,D,BIGA,HOLD
46           D = (1.0D0,0.0D0)
47           NK=-N
48           DO 80 K=1,N
49           NK=NK+N
50           L(K)=K
51           M(K)=K
52           KK=NK+K
53           BIGA=A(KK)
54           DO 20 J=K,N
55           IZ=N*(J-1)
56           DO 20 I=K,N
57           IJ=IZ+1
58        10 IF(CDABS(BIGA)-CDABS(A(IJ))) 15,20,20
59        15 BIGA=A(IJ)
60           L(K)=I
61           M(K)=J
62        20 CONTINUE
63           J=L(K)
64           IF(J-K) 35,35,25
65        25 KI=K-N
66           DO 30 I=1,N
67           KI=KI+N
68           HOLD=-A(KI)
69           JI=KI-K+J
70           A(KI)=A(JI)
71        30 A(JI) =HOLD
72        35 I=M(K)
73           IF(I-K) 45,45,38
74        38 JP=N*(I-1)
75           DO 40 J=1,N
76           JK=NK+J
77           JI=JP+J
78           HOLD=-A(JK)
79           A(JK)=A(JI)
80        40 A(JI) =HOLD
81        45 IF(CDABS(BIGA)) 48,46,48
82        46 D = (0.0D0,0.0D0)
83           RETURN
84        48 DO 55 I=1,N
85           IF(I-K) 50,55,50
86        50 IK=NK+1
87           A(IK)=A(IK)/(-BIGA)
88        55 CONTINUE
89           DO 65 I=1,N
90           IK=NK+1
91           HOLD=A(IK)
92           IJ=I-N
93           DO 65 J=1,N
94           IJ=IJ+N
95           IF(I-K) 60,65,60
96        60 IF(J-K) 62,65,62
97        62 KJ=IJ-I+K
98           A(IJ)=HOLD*A(KJ)+A(IJ)
99        65 CONTINUE
100           KJ=K-N
101           DO 75 J=1,N
102     C Seite 35
103     
104     
105           KJ=KJ+N
106     
107     
108           IF(J-K) 70,75,70
109        70 A(KJ)=A(KJ)/BIGA
110        75 CONTINUE
111           D=D*BIGA
112           A(KK) = (1.0D0,0.0D0)/BIGA
113        80 CONTINUE
114           K=N
115       100 K=(K-1)
116           IF(K) 150,150,105
117       105 I=L(K)
118     
119     
120           IF(I-K) 120,120,108
121       108 JQ=N*(K-1)
122           JR=N*(I-1)
123           DO 110 J=1,N
124           JK=JQ+J
125           HOLD=A(JK)
126           JI=JR+J
127           A(JK)=-A(JI)
128       110 A(JI) =HOLD
129       120 J=M(K)
130           IF(J-K) 100,100,125
131       125 KI=K-N
132           DO 130 I=1,N
133           KI=KI+N
134           HOLD=A(KI)
135           JI=KI-K+J
136           A(KI)=-A(JI)
137       130 A(JI) =HOLD
138           GO TO 100
139       150 RETURN
140           END
141     C Seite 36